#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>

// pid_t fork(void);
// pid_t getpid(void);
// pid_t getppid(void);
// pid_t wait(int *status);
// exit()清空缓冲区    /_Exit() / _exit()不会清空缓冲区

int fun()
{
    // return 0;  // return只是代表结束函数
    exit(0); // 结束进程
}
int main()
{
    fun();
    sleep(3);
    printf("main\n");

    // printf("main");
    // exit(0);
    // _exit(0);
    // return 0;

    return 0;
    printf("11112222\n");
}

// exit() 与 _exit()/_Exit() 的区别：
// exit(n);：终止进程前，会刷新标准 I/O 缓冲区（确保缓冲区中的数据输出）。
// _exit(n);/_Exit(n);：直接终止进程，不刷新缓冲区（可能导致缓冲区中的数据丢失）。
